Skip to content

fix: grab frame button ignores crop, scale, and rotate edits#909

Open
Nightcoder-26 wants to merge 3 commits into
magic-peach:mainfrom
Nightcoder-26:fix-grab-frame-edits
Open

fix: grab frame button ignores crop, scale, and rotate edits#909
Nightcoder-26 wants to merge 3 commits into
magic-peach:mainfrom
Nightcoder-26:fix-grab-frame-edits

Conversation

@Nightcoder-26
Copy link
Copy Markdown

@Nightcoder-26 Nightcoder-26 commented May 22, 2026

Description

Fixes a bug where the "Grab Frame" button completely ignored all user edits (such as cropping, zooming, rotating, or aspect ratio changes) and instead downloaded the raw, original video frame directly from the

Fix: Replaced the manual canvas drawing logic inside VideoPreview.tsx with the existing captureFrameAsPng(video, recipe) utility from frame-export.ts. This utility correctly computes and applies all recipe transformations (scale, rotation, crop dimensions) to the canvas before saving the PNG.

Related Issue

fixes #905

Type of Contribution

  • Bug fix
  • New feature
  • Documentation update
  • GSSoC contribution

Participant Info

  • GitHub username: Nightcoder-26
  • Contribution level (Beginner/Intermediate/Advanced): Intermediate

Screen Recording

Recording.2026-05-22.130756.mov

Checklist

  • I have read the contribution guidelines
  • My changes follow the project structure
  • I have tested my changes in Chrome, Firefox, and Safari
  • bun run lint passes (no ESLint errors)
  • bunx tsc --noEmit passes (no TypeScript errors)
  • New interactive elements have aria-label / accessible names
  • No console.log statements left in
  • This PR is related to a valid issue
  • Screen recording attached above (required for UI/feature/design changes)

The 'Grab Frame' feature previously drew the raw video element directly onto a canvas, completely ignoring any zoom, crop, rotation, or aspect ratio changes the user applied in the UI.

Fix: Replaced the manual canvas drawing logic with the existing 'captureFrameAsPng' utility from frame-export.ts, which correctly computes and applies all recipe transformations before rendering the image.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 22, 2026

Someone is attempting to deploy a commit to the magic-peach1's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @Nightcoder-26!

Welcome to Reframe — a browser-based video editor built for everyone 🎬

🟠 GSSoC'26 PR detected — thanks for contributing under GirlScript Summer of Code 2026!

What happens next

  1. 🤖 Automated checks — build & TypeScript typecheck will run automatically
  2. Vercel preview — a preview deployment will be created (requires maintainer authorization for fork PRs)
  3. 👀 Code review — a maintainer will review your changes
  4. 🚀 Merge — once approved, your PR will be merged!

Quick checklist

  • PR title follows Conventional Commits (e.g. feat: add dark mode)
  • Linked the issue this PR closes (e.g. Closes #123)
  • Tested the changes locally (bun run dev)
  • Build passes (bun run build)

Useful links

Happy coding! 🎉

@github-actions github-actions Bot added level:beginner Beginner level - 20 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:feature New feature labels May 22, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 22, 2026

✅ PR Format Check Passed — @Nightcoder-26

Basic format checks passed. A maintainer will review your code changes.

This does not mean the PR is approved — it just means the format is correct.

@github-actions github-actions Bot added the gssoc'26 GirlScript Summer of Code 2026 label May 22, 2026
@Nightcoder-26
Copy link
Copy Markdown
Author

@magic-peach kindly review the PR and merge it

# Conflicts:
#	src/components/VideoPreview.tsx
@Nightcoder-26
Copy link
Copy Markdown
Author

@magic-peach please review it and merge or close it, if you want me to any changes kindly mention that i am happy to work accordingly

@magic-peach magic-peach removed type:feature New feature type:docs Documentation type:design UI/UX design labels May 24, 2026
@magic-peach
Copy link
Copy Markdown
Owner

@Nightcoder-26 The code change looks good — replacing the manual canvas frame capture with captureFrameAsPng which correctly applies recipe transformations is the right approach.

However, build/lint/typecheck CI hasn't run on this PR. Could you push a minor update (e.g., add a blank line and remove it) to trigger the full CI suite? We need build, lint, and typecheck to pass before merging.

Once CI passes, this will be merged quickly!

@github-actions github-actions Bot added type:design UI/UX design type:docs Documentation type:feature New feature labels May 24, 2026
@Nightcoder-26
Copy link
Copy Markdown
Author

Hi! @magic-peach I can see the CI is blocked on "5 workflows awaiting approval" — this is GitHub's automatic fork protection policy and the build workflows literally cannot start until a maintainer approves them from the Checks tab.

The local build passes cleanly — ✓ Compiled successfully, ✓ Linting and checking validity of types. Could you please click "Approve and run workflows" in the PR's Checks section? That's the only remaining step before this can be merged. 🙏

@Nightcoder-26
Copy link
Copy Markdown
Author

Nightcoder-26 commented May 25, 2026

@magic-peach kindly check the PR and merge it and close it as soon as possible. the issues has been solved please review it humble request
Gentle ping @magic-peach 👋
The workflows are still awaiting approval, so CI hasn't been able to run yet. Once approved, the required checks should execute normally.

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc'26 GirlScript Summer of Code 2026 level:beginner Beginner level - 20 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG]:"Grab Frame" Snapshot Ignores Video Edits (Aspect Ratio, Rotation, Adjustments)

2 participants